hysop.backend.device.opencl.opencl_fft module

class hysop.backend.device.opencl.opencl_fft.OpenClFFT(context, queue, in_array, out_array=None, axes=None, fast_math=False, real=False, keep_buffer_offset=False)[source]

Bases: FFT

Wrap gpyfft.FFT to allow more versatile callback settings and buffer allocations.

allocate(buf=None)[source]
classmethod allocate_plans(operator, plans)[source]
bake()[source]
classmethod check_dtype(dtype, layout)[source]
enqueue(queue=None, wait_for_events=None, direction_forward=True)[source]

Enqueue transform with array base_data. /!Do not forget to offset input and output by array.offset

within custom user callbacks, only base_data is passed to ensure OpenCL pointers alignment of kernel arguments. See self.set_offset_callbacks().

enqueue_arrays(*args, **kwds)[source]

enqueue transform

post_offset_callback(out_array, layout_out)[source]
pre_offset_callback(in_array, layout_in)[source]
property ready
property required_buffer_size
set_offset_callbacks(plan, in_array, out_array, layout_in, layout_out, keep_buffer_offset)[source]